package com.sixbro.shiro.service.rbac;

import com.baomidou.mybatisplus.extension.service.IService;
import com.sixbro.shiro.domain.entity.SysPermission;
import com.sixbro.shiro.domain.vo.response.PermissionResponseNode;

import java.util.List;
import java.util.Set;

/**
 * <p>
 *
 * </p>
 *
 * @Author: Mr.Lu
 * @Since: 2020/6/19 14:23
 */
public interface PermissionService extends IService<SysPermission> {

    List<SysPermission> getPermission(String userId);

    SysPermission addPermission(SysPermission vo);

    SysPermission detailInfo(String permissionId);

    void updatePermission(SysPermission vo);

    void deleted(String permissionId);

    List<SysPermission> selectAll();

    Set<String> getPermissionsByUserId(String userId);

    List<PermissionResponseNode> permissionTreeList(String userId);

    List<PermissionResponseNode> selectAllByTree();

    List<PermissionResponseNode> selectAllMenuByTree(String permissionId);
}
